package jblip.resources;

/**
 * Defines available types of <i>update</i> resources.
 * 
 * @author Krzysztof Sroka
 * @since 0.1
 */
public enum UpdateType {
  /**
   * Directed message.
   */
  DIRMSG {
    @Override
    public boolean hasRecipient() {
      return true;
    }
  },

  /**
   * User's status message.
   */
  STATUS {
    @Override
    public boolean hasRecipient() {
      return false;
    }
  },

  /**
   * Private directed message.
   */
  PRIVMSG {
    @Override
    public boolean hasRecipient() {
      return true;
    }
  },

  /**
   * Blip server notice.
   */
  NOTICE {
    @Override
    public boolean hasRecipient() {
      return false;
    }
  };

  public abstract boolean hasRecipient();
}